When creating a computer application, a developer typically may choose a particular environment, or platform on which the application will ultimately be executed. For example, when writing an application, the developer may choose to develop the application to run on the Microsoft Windows® platform. As a result, the program developer may have different options available for defining how user interface objects will look during interactions with a user of the application. However, an application developer may have only limited control over the user interface objects. For example, an application developer may typically change the labels of buttons, but may not be able to change their color depending upon the platform, and may not be able to change their shape, border thickness, or even their behavior.
As a result, an application developer may program the application with user interface elements provided by the platform or may create customized user interface elements by defining aspects of their appearance such as background color, font size, border thickness, and so forth, so that the chosen platform may render the display as intended by the application developer. Although functional, this process suffers certain drawbacks. For instance, in order to customize a graphical user interface control for a particular system, a developer may be required to explicitly specify the property values for how the graphical user interface control will be displayed. This may become a cumbersome and repetitive process since the customized style may only apply to one graphical user interface control and the process of customizing the style for other graphical user interface controls may need to be repeated for each graphical user interface control. Moreover, such controls traditionally only allowed their data content to be a simple string since that was the only type of data displayable for a control.
What is needed is a way for an application developer to customize the style of any type of graphical user interface control and more easily define how the content of the graphical user interface control will look during interactions with a user of the application. Such a system and method should allow a graphical user interface control to display any type of data content. Furthermore, the system and method should allow an application developer to define a customized style only once for displaying the user interface control with a certain type of data content so that the customized style may also be used for displaying other user interface controls.